home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / games / nhak_src.zip / MAKEFILE.OS2 < prev    next >
Text File  |  1993-03-16  |  18KB  |  561 lines

  1. #    SCCS Id: @(#)Makefile.os2    3.0    90/02/22
  2. #    OS/2 NetHack 3.0 Makefile for Microsoft(tm) C 5.1 -- Timo Hakulinen
  3. #
  4. #    NDMAKE ver 4.5 or MS-NMAKE is required, MS-MAKE will not work.
  5. #    To enable either make utility, uncomment the respective
  6. #    make-specific macros. If you plan to cross-compile in DOS, your
  7. #    best bet is NDMAKE, since it requires less memory than NMAKE.
  8. #    To compile in OS/2 use NMAKE or compatible.  Remember to set
  9. #    $(RLIBS) to real mode libraries if compiling in DOS, and to
  10. #    protected mode libraries for compilation in OS/2.
  11. #
  12. #    Copy pctty.c, pcunix.c, pcmain.c, msdos.c and this file
  13. #    (+ termcap library if used) into $(SRC) directory, rename
  14. #    this file to "makefile" (important, some targets rely on it),
  15. #    compile and link inside $(SRC).  Termcap library can be built
  16. #    from termcap sources using makefile.lib in "others" directory.
  17. #
  18. #    When using CodeView versions earlier than ver. 2.3, define
  19. #    OS2_CODEVIEW in pcconf.h and set HACKDIR (+ TERM and TERMCAP
  20. #    if used) in OS/2 config.sys. Otherwise path searches may fail.
  21. #
  22. #    Note that $(GAMEDIR) must exist prior to compilation.
  23. #
  24. CC    = cl
  25. LINK    = link
  26. LIB    = lib
  27.  
  28. # Enable the upper three lines for NDMAKE and lower three for MS-NMAKE.
  29. # ($(MAKE) macro is often predefined, so we use $(MAKEBIN) instead).
  30. MAKEBIN = make
  31. AB    = $*.c
  32. CB    = $*.c
  33. #MAKEBIN = nmake
  34. #AB    = $(@B).c
  35. #CB    = $$(@B).c
  36.  
  37. # For those of us who have these on PC.
  38. #YACC    = yacc
  39. #LEX    = lex
  40. YACC    = bison -y
  41. LEX    = flex
  42. # Standard file names may vary in PC installations.
  43. YTABC    = y_tab.c
  44. YTABH    = y_tab.h
  45. LEXYYC    = lexyy.c
  46.  
  47. # Directories (makedefs hardcodes these, don't change them).
  48. INCL    = ..\include
  49. AUX    = ..\auxil
  50. SRC    = ..\src
  51. OBJ    = $(SRC)\o2
  52.  
  53. # The game name and description.
  54. GAME    = nethack
  55. GAMEDES = NetHack 3.0
  56.  
  57. # The game directory.
  58. GAMEDIR = \games\$(GAME)
  59.  
  60. # Memory model, compile only, disable optimization, remove stack probes,
  61. # 80286 instruction set, dedicated datasegment for items >= 5 bytes,
  62. # pack structures on 1 byte boundaries, generate code for 8087
  63. # coprocessor, compiler warning level, include file path.
  64. CFLAGS    = /AL /c /Od /Gs /G2 /Gt5 /Zp1 /FPi87 /W1 /I$(INCL) $(CDFLAGS)
  65.  
  66. # + prepare for CodeView symbolic debugger.
  67. CDFLAGS =
  68. #CDFLAGS = /Zi
  69.  
  70. # Don't ignore case in symbols, no default lib search, stack 4096 bytes.
  71. # (actually a bit of overkill), allow max 1024 segments in program.
  72. LFLAGS    = /noig /nod /stack:4096 /seg:1024 $(LDFLAGS)
  73.  
  74. # + prepare for CodeView symbolic debugger.
  75. LDFLAGS =
  76. #LDFLAGS = /CO
  77.  
  78. # Protected mode C libraries for 8087 (change if necessary),
  79. # OS/2 API entry points.
  80. PLIBS    = llibc7p doscalls
  81.  
  82. # C libraries used by makedefs and lev_comp (change if necessary).
  83. # If compilation is done in DOS, enable the upper line, if in OS/2,
  84. # the lower (protected mode libraries).
  85. RLIBS    = llibc7r
  86. #RLIBS    = $(PLIBS)
  87.  
  88. # Module definition file for OS/2.
  89. OS2DEFS    = $(GAME).def
  90.  
  91. # The default make target (so just typing 'make' is useful).
  92. default: $(GAME)
  93.  
  94. # If you have yacc and lex programs and make any changes, comment out the
  95. # upper two lines and uncomment the lower two.
  96. do_yacc: yacc_msg
  97. do_lex:  lex_msg
  98. #do_yacc: yacc_act
  99. #do_lex:  lex_act
  100.  
  101. # Optional high-quality BSD random number generation routines (see pcconf.h).
  102. # Set to nothing if not used.
  103. RANDOM    = $(OBJ)\random.o
  104. #RANDOM    =
  105.  
  106. # If TERMLIB defined in pcconf.h, comment out the upper line and
  107. # uncomment the lower.  If the termcap-library doesn't exist, use
  108. # others\makefile.lib to build it.
  109. TERMLIB =
  110. #TERMLIB = termlib.lib
  111.  
  112. ######################################################################
  113. #
  114. # Nothing below this line should have to be changed.
  115. #
  116. # Other things that have to be reconfigured are in
  117. # config.h, pcconf.h and possibly system.h.
  118. #
  119.  
  120. # The game filename.
  121. GAMEFILE = $(GAMEDIR)\$(GAME).exe
  122.  
  123. # Object files for makedefs.
  124. MAKEOBJS = $(OBJ)\makedefs.o $(OBJ)\monst.o $(OBJ)\objects.o
  125.  
  126. # Object files for special levels compiler.
  127. SOBJ01 = $(OBJ)\lev_comp.o $(OBJ)\lev_lex.o $(OBJ)\lev_main.o $(OBJ)\alloc.o
  128. SOBJ02 = $(OBJ)\monst.o $(OBJ)\objects.o $(OBJ)\panic.o
  129.  
  130. SPLEVOBJS = $(SOBJ01) $(SOBJ02)
  131.  
  132. VOBJ01 = $(OBJ)\allmain.o  $(OBJ)\alloc.o    $(OBJ)\apply.o    $(OBJ)\artifact.o
  133. VOBJ02 = $(OBJ)\attrib.o   $(OBJ)\bones.o    $(OBJ)\cmd.o      $(OBJ)\dbridge.o
  134. VOBJ03 = $(OBJ)\decl.o     $(OBJ)\demon.o    $(OBJ)\do.o       $(OBJ)\do_name.o
  135. VOBJ04 = $(OBJ)\do_wear.o  $(OBJ)\dog.o      $(OBJ)\dogmove.o  $(OBJ)\dokick.o
  136. VOBJ05 = $(OBJ)\dothrow.o  $(OBJ)\eat.o      $(OBJ)\end.o
  137. VOBJ06 = $(OBJ)\engrave.o  $(OBJ)\exper.o    $(OBJ)\extralev.o $(OBJ)\fountain.o
  138. VOBJ07 = $(OBJ)\getline.o  $(OBJ)\hack.o     $(OBJ)\invent.o   $(OBJ)\lock.o
  139. VOBJ08 = $(OBJ)\mail.o     $(OBJ)\main.o     $(OBJ)\makemon.o  $(OBJ)\mcastu.o
  140. VOBJ09 = $(OBJ)\mhitm.o    $(OBJ)\mhitu.o    $(OBJ)\mklev.o    $(OBJ)\mkmaze.o
  141. VOBJ10 = $(OBJ)\mkobj.o    $(OBJ)\mkroom.o   $(OBJ)\mon.o      $(OBJ)\mondata.o
  142. VOBJ11 = $(OBJ)\msdos.o    $(OBJ)\monmove.o  $(OBJ)\monst.o    $(OBJ)\mthrowu.o
  143. VOBJ12 = $(OBJ)\music.o    $(OBJ)\o_init.o   $(OBJ)\objects.o
  144. VOBJ13 = $(OBJ)\objnam.o   $(OBJ)\options.o  $(OBJ)\pager.o    $(OBJ)\pickup.o
  145. VOBJ14 = $(OBJ)\polyself.o $(OBJ)\potion.o   $(OBJ)\pray.o     $(OBJ)\pri.o
  146. VOBJ15 = $(OBJ)\priest.o   $(OBJ)\prisym.o   $(RANDOM)         $(OBJ)\read.o
  147. VOBJ16 = $(OBJ)\restore.o  $(OBJ)\rip.o      $(OBJ)\rnd.o      $(OBJ)\rumors.o
  148. VOBJ17 = $(OBJ)\save.o     $(OBJ)\search.o   $(OBJ)\shk.o      $(OBJ)\shknam.o
  149. VOBJ18 = $(OBJ)\sit.o      $(OBJ)\sounds.o   $(OBJ)\sp_lev.o   $(OBJ)\spell.o
  150. VOBJ20 = $(OBJ)\steal.o    $(OBJ)\termcap.o  $(OBJ)\timeout.o  $(OBJ)\topl.o
  151. VOBJ21 = $(OBJ)\topten.o   $(OBJ)\track.o    $(OBJ)\trap.o     $(OBJ)\tty.o
  152. VOBJ22 = $(OBJ)\u_init.o   $(OBJ)\uhitm.o    $(OBJ)\unix.o     $(OBJ)\vault.o
  153. VOBJ23 = $(OBJ)\weapon.o   $(OBJ)\were.o     $(OBJ)\wield.o
  154. VOBJ24 = $(OBJ)\wizard.o   $(OBJ)\worm.o     $(OBJ)\worn.o     $(OBJ)\write.o
  155. VOBJ25 = $(OBJ)\zap.o
  156. HHOBJ  = $(OBJ)\version.o
  157.  
  158. VOBJ =    $(VOBJ01) $(VOBJ02) $(VOBJ03) $(VOBJ04) $(VOBJ05) $(VOBJ06) $(VOBJ07) \
  159.     $(VOBJ08) $(VOBJ09) $(VOBJ10) $(VOBJ11) $(VOBJ12) $(VOBJ13) $(VOBJ14) \
  160.     $(VOBJ15) $(VOBJ16) $(VOBJ17) $(VOBJ18) $(VOBJ20) $(VOBJ21) $(VOBJ22) \
  161.     $(VOBJ23) $(VOBJ24) $(VOBJ25)
  162. HOBJ =    $(VOBJ) $(HHOBJ)
  163.  
  164. PCCONF_H   = $(INCL)\pcconf.h $(INCL)\msdos.h $(INCL)\system.h \
  165.          $(INCL)\extern.h $(INCL)\def_os2.h
  166. GLOBAL_H   = $(INCL)\global.h $(INCL)\coord.h $(PCCONF_H)
  167. CONFIG_H   = $(INCL)\config.h $(INCL)\tradstdc.h $(GLOBAL_H)
  168. TRAP_H       = $(INCL)\trap.h
  169. PERMONST_H = $(INCL)\permonst.h $(INCL)\monattk.h $(INCL)\monflag.h
  170. YOU_H       = $(INCL)\you.h $(INCL)\attrib.h $(PERMONST_H) $(INCL)\mondata.h \
  171.          $(INCL)\monst.h $(INCL)\youprop.h $(INCL)\prop.h $(INCL)\pm.h
  172. DECL_H       = $(INCL)\decl.h $(INCL)\spell.h $(INCL)\obj.h $(YOU_H) \
  173.          $(INCL)\onames.h $(INCL)\color.h
  174. HACK_H       = $(CONFIG_H) $(DECL_H) $(INCL)\monsym.h $(INCL)\mkroom.h \
  175.          $(INCL)\objclass.h $(INCL)\gold.h $(TRAP_H) $(INCL)\flag.h \
  176.          $(INCL)\rm.h $(INCL)\hack.h
  177.  
  178. # The default target
  179.  
  180. all:    makedefs lev_comp $(GAME) auxil
  181.     @echo Done.
  182.  
  183. # The main target
  184.  
  185. $(GAME): $(OBJ) $(GAMEDIR)\$(GAME).exe
  186. $(GAME).exe: $(GAMEDIR)\$(GAME).exe
  187. $(GAMEDIR)\$(GAME).exe: $(GAME).res
  188.     $(LINK) @$(GAME).res
  189.  
  190. $(GAME).res: $(HOBJ) $(OS2DEFS)
  191.     @echo $(VOBJ01) +> $@
  192.     @echo $(VOBJ02) +>> $@
  193.     @echo $(VOBJ03) +>> $@
  194.     @echo $(VOBJ04) +>> $@
  195.     @echo $(VOBJ05) +>> $@
  196.     @echo $(VOBJ06) +>> $@
  197.     @echo $(VOBJ07) +>> $@
  198.     @echo $(VOBJ08) +>> $@
  199.     @echo $(VOBJ09) +>> $@
  200.     @echo $(VOBJ10) +>> $@
  201.     @echo $(VOBJ11) +>> $@
  202.     @echo $(VOBJ12) +>> $@
  203.     @echo $(VOBJ13) +>> $@
  204.     @echo $(VOBJ14) +>> $@
  205.     @echo $(VOBJ15) +>> $@
  206.     @echo $(VOBJ16) +>> $@
  207.     @echo $(VOBJ17) +>> $@
  208.     @echo $(VOBJ18) +>> $@
  209.     @echo $(VOBJ20) +>> $@
  210.     @echo $(VOBJ21) +>> $@
  211.     @echo $(VOBJ22) +>> $@
  212.     @echo $(VOBJ23) +>> $@
  213.     @echo $(VOBJ24) +>> $@
  214.     @echo $(VOBJ25) +>> $@
  215.     @echo $(HHOBJ)>> $@
  216.     @echo $(GAMEDIR)\$(GAME)>> $@
  217.     @echo $(GAME)>> $@
  218.     @echo $(PLIBS) $(TERMLIB)>> $@
  219.     @echo $(OS2DEFS) $(LFLAGS);>> $@
  220.  
  221. $(OBJ):
  222.     -mkdir $(OBJ)
  223.  
  224. # Targets for makedefs.
  225.  
  226. makedefs: $(OBJ) makedefs.exe
  227. makedefs.exe: makedefs.res
  228.     $(LINK) @makedefs.res
  229.  
  230. makedefs.res: $(MAKEOBJS)
  231.     @echo $(MAKEOBJS)> $@
  232.     @echo makedefs>> $@
  233.     @echo nul>> $@
  234.     @echo $(RLIBS)>> $@
  235.     @echo $(LFLAGS);>> $@
  236.  
  237. $(OBJ)\makedefs.o : $(CB) $(INCL)\config.h $(INCL)\permonst.h $(INCL)\objclass.h
  238.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  239.  
  240. # Targets for the special levels compiler.
  241.  
  242. lev_comp: $(OBJ) lev_comp.exe
  243. lev_comp.exe: lev_comp.res
  244.     $(LINK) @lev_comp.res
  245.  
  246. lev_comp.res: $(SPLEVOBJS)
  247.     @echo $(SOBJ01) +> $@
  248.     @echo $(SOBJ02)>> $@
  249.     @echo lev_comp>> $@
  250.     @echo nul>> $@
  251.     @echo $(RLIBS)>> $@
  252.     @echo $(LFLAGS);>> $@
  253.  
  254. $(OBJ)\lev_comp.o : $(CB) $(HACK_H) $(INCL)\sp_lev.h
  255.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  256. $(OBJ)\lev_lex.o  : $(CB) $(HACK_H) $(INCL)\sp_lev.h $(INCL)\lev_comp.h
  257.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  258. $(OBJ)\lev_main.o : $(CB) $(HACK_H)
  259.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  260.  
  261. lev_comp.c : lev_comp.y
  262.     $(MAKEBIN) do_yacc
  263.  
  264. lev_lex.c  : lev_comp.l
  265.     $(MAKEBIN) do_lex
  266.  
  267. yacc_msg:
  268.     @echo lev_comp.y has changed. To update lev_comp.c and lev_comp.h run YACC.
  269.  
  270. yacc_act:
  271.     $(YACC) -d lev_comp.y
  272.     copy $(YTABC) lev_comp.c
  273.     copy $(YTABH) $(INCL)\lev_comp.h
  274.     del $(YTABC)
  275.     del $(YTABH)
  276.  
  277. lex_msg:
  278.     @echo lev_comp.l has changed. To update lev_lex.c run LEX.
  279.  
  280. lex_act:
  281.     $(LEX) lev_comp.l
  282.     copy $(LEXYYC) lev_lex.c
  283.     del $(LEXYYC)
  284.  
  285. #
  286. #    The following include files depend on makedefs to be created.
  287. #
  288. #    date.h should be remade any time any of the source or include code
  289. #    is modified.
  290. #
  291. $(INCL)\date.h: $(VOBJ) makedefs.exe
  292.     makedefs -v
  293.  
  294. $(INCL)\trap.h:    makedefs.exe
  295.     makedefs -t
  296.  
  297. $(INCL)\onames.h: makedefs.exe
  298.     makedefs -o
  299.  
  300. $(INCL)\pm.h: makedefs.exe
  301.     makedefs -p
  302.  
  303. data:    $(AUX)\data.bas makedefs.exe
  304.     makedefs -d
  305.  
  306. rumors: $(AUX)\rumors.tru $(AUX)\rumors.fal makedefs.exe
  307.     makedefs -r
  308.  
  309. #
  310. #    The following programs vary depending on what OS you are using.
  311. #
  312. $(OBJ)\main.o: pc$(CB) $(HACK_H)
  313.     $(CC) $(CFLAGS) /Fo$@ pc$(AB)
  314.  
  315. $(OBJ)\tty.o:  pc$(CB) $(HACK_H) $(INCL)\func_tab.h
  316.     $(CC) $(CFLAGS) /Fo$@ pc$(AB)
  317.  
  318. $(OBJ)\unix.o: pc$(CB) $(HACK_H)
  319.     $(CC) $(CFLAGS) /Fo$@ pc$(AB)
  320.  
  321. #
  322. # Secondary targets
  323. #
  324.  
  325. auxil:    spec_lev data rumors
  326.     xcopy $(AUX)\cmdhelp $(GAMEDIR)
  327.     xcopy $(AUX)\help    $(GAMEDIR)
  328.     xcopy $(AUX)\hh      $(GAMEDIR)
  329.     xcopy $(AUX)\history $(GAMEDIR)
  330.     xcopy $(AUX)\license $(GAMEDIR)
  331.     xcopy $(AUX)\opthelp $(GAMEDIR)
  332.     xcopy $(AUX)\oracles $(GAMEDIR)
  333.     xcopy $(AUX)\data    $(GAMEDIR)
  334.     xcopy $(AUX)\rumors  $(GAMEDIR)
  335.  
  336. spec_lev: $(AUX)\castle.des $(AUX)\endgame.des $(AUX)\tower.des
  337.     lev_comp $(AUX)\castle.des
  338.     lev_comp $(AUX)\endgame.des
  339.     lev_comp $(AUX)\tower.des
  340.     xcopy castle  $(GAMEDIR)
  341.     xcopy endgame $(GAMEDIR)
  342.     xcopy tower?  $(GAMEDIR)
  343.     del castle
  344.     del endgame
  345.     del tower?
  346.  
  347. $(OS2DEFS):
  348.     @echo NAME $(GAME) WINDOWCOMPAT> $(OS2DEFS)
  349.     @echo DESCRIPTION '$(GAMEDES)'>> $(OS2DEFS)
  350.     @echo PROTMODE>> $(OS2DEFS)
  351.     @echo EXETYPE OS2>> $(OS2DEFS)
  352.  
  353. clean:
  354.     -del $(OBJ)\*.o
  355.     -rmdir $(OBJ)
  356.  
  357. spotless: clean
  358.     -del $(INCL)\date.h
  359.     -del $(INCL)\onames.h
  360.     -del $(INCL)\pm.h
  361.     -del makedefs.exe
  362.     -del lev_comp.exe
  363.     -del *.res
  364.     -del *.def
  365.     -del *.map
  366.     -del $(AUX)\data
  367.     -del $(AUX)\rumors
  368.     -del castle
  369.     -del endgame
  370.     -del tower?
  371.  
  372. #
  373. # Other dependencies.
  374. #
  375. # MS-NMAKE doesn't give a damn about default rules here, so until
  376. # that is fixed, we do this the hard way.
  377. #
  378.  
  379. $(OBJ)\allmain.o  : $(CB) $(HACK_H)
  380.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  381. $(OBJ)\alloc.o    : $(CB) $(CONFIG_H)
  382.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  383. $(OBJ)\apply.o    : $(CB) $(HACK_H) $(INCL)\edog.h
  384.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  385. $(OBJ)\artifact.o : $(CB) $(HACK_H) $(INCL)\artifact.h
  386.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  387. $(OBJ)\attrib.o   : $(CB) $(HACK_H)
  388.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  389. $(OBJ)\bones.o    : $(CB) $(HACK_H)
  390.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  391. $(OBJ)\cmd.o      : $(CB) $(HACK_H) $(INCL)\func_tab.h
  392.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  393. $(OBJ)\dbridge.o  : $(CB) $(HACK_H)
  394.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  395. $(OBJ)\decl.o     : $(CB) $(HACK_H)
  396.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  397. $(OBJ)\demon.o    : $(CB) $(HACK_H)
  398.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  399. $(OBJ)\do.o       : $(CB) $(HACK_H)
  400.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  401. $(OBJ)\do_name.o  : $(CB) $(HACK_H)
  402.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  403. $(OBJ)\do_wear.o  : $(CB) $(HACK_H)
  404.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  405. $(OBJ)\dog.o      : $(CB) $(HACK_H) $(INCL)\edog.h
  406.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  407. $(OBJ)\dogmove.o  : $(CB) $(HACK_H) $(INCL)\mfndpos.h $(INCL)\edog.h
  408.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  409. $(OBJ)\dokick.o   : $(CB) $(HACK_H) $(INCL)\eshk.h
  410.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  411. $(OBJ)\dothrow.o  : $(CB) $(HACK_H)
  412.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  413. $(OBJ)\eat.o      : $(CB) $(HACK_H)
  414.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  415. $(OBJ)\end.o      : $(CB) $(HACK_H) $(INCL)\eshk.h
  416.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  417. $(OBJ)\engrave.o  : $(CB) $(HACK_H)
  418.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  419. $(OBJ)\exper.o    : $(CB) $(HACK_H)
  420.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  421. $(OBJ)\extralev.o : $(CB) $(HACK_H)
  422.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  423. $(OBJ)\fountain.o : $(CB) $(HACK_H)
  424.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  425. $(OBJ)\getline.o  : $(CB) $(HACK_H) $(INCL)\func_tab.h
  426.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  427. $(OBJ)\hack.o     : $(CB) $(HACK_H)
  428.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  429. $(OBJ)\invent.o   : $(CB) $(HACK_H) $(INCL)\lev.h $(INCL)\wseg.h
  430.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  431. $(OBJ)\ioctl.o    : $(CB) $(HACK_H)
  432.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  433. $(OBJ)\lock.o     : $(CB) $(HACK_H)
  434.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  435. $(OBJ)\makemon.o  : $(CB) $(HACK_H)
  436.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  437. $(OBJ)\mail.o     : $(CB) $(HACK_H)
  438.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  439. $(OBJ)\mcastu.o   : $(CB) $(HACK_H)
  440.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  441. $(OBJ)\mhitm.o    : $(CB) $(HACK_H) $(INCL)\artifact.h
  442.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  443. $(OBJ)\mhitu.o    : $(CB) $(HACK_H) $(INCL)\artifact.h $(INCL)\edog.h
  444.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  445. $(OBJ)\mklev.o    : $(CB) $(HACK_H)
  446.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  447. $(OBJ)\mkmaze.o   : $(CB) $(HACK_H)
  448.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  449. $(OBJ)\mkobj.o    : $(CB) $(HACK_H)
  450.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  451. $(OBJ)\mkroom.o   : $(CB) $(HACK_H)
  452.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  453. $(OBJ)\mon.o      : $(CB) $(HACK_H) $(INCL)\mfndpos.h $(INCL)\wseg.h
  454.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  455. $(OBJ)\mondata.o  : $(CB) $(HACK_H) $(INCL)\eshk.h $(INCL)\epri.h
  456.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  457. $(OBJ)\monmove.o  : $(CB) $(HACK_H) $(INCL)\mfndpos.h $(INCL)\artifact.h
  458.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  459. $(OBJ)\monst.o    : $(CB) $(CONFIG_H) $(PERMONST_H) $(INCL)\monsym.h $(INCL)\eshk.h \
  460.             $(INCL)\vault.h $(INCL)\epri.h $(INCL)\color.h
  461.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  462. $(OBJ)\msdos.o    : $(CB) $(HACK_H)
  463.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  464. $(OBJ)\mthrowu.o  : $(CB) $(HACK_H)
  465.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  466. $(OBJ)\music.o    : $(CB) $(HACK_H)
  467.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  468. $(OBJ)\o_init.o   : $(CB) $(HACK_H)
  469.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  470. $(OBJ)\objects.o  : $(CB) $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h $(INCL)\prop.h \
  471.             $(INCL)\color.h
  472.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  473. $(OBJ)\objnam.o   : $(CB) $(HACK_H)
  474.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  475. $(OBJ)\options.o  : $(CB) $(HACK_H)
  476.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  477. $(OBJ)\pager.o    : $(CB) $(HACK_H)
  478.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  479. $(OBJ)\panic.o    : $(CB) $(CONFIG_H)
  480.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  481. $(OBJ)\pickup.o   : $(CB) $(HACK_H)
  482.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  483. $(OBJ)\polyself.o : $(CB) $(HACK_H)
  484.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  485. $(OBJ)\potion.o   : $(CB) $(HACK_H)
  486.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  487. $(OBJ)\pray.o     : $(CB) $(HACK_H)
  488.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  489. $(OBJ)\pri.o      : $(CB) $(HACK_H) $(INCL)\epri.h $(INCL)\termcap.h
  490.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  491. $(OBJ)\priest.o   : $(CB) $(HACK_H) $(INCL)\mfndpos.h $(INCL)\eshk.h $(INCL)\epri.h
  492.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  493. $(OBJ)\prisym.o   : $(CB) $(HACK_H) $(INCL)\lev.h $(INCL)\wseg.h
  494.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  495. $(OBJ)\random.o   : $(CB)
  496.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  497. $(OBJ)\read.o     : $(CB) $(HACK_H)
  498.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  499. $(OBJ)\restore.o  : $(CB) $(HACK_H) $(INCL)\lev.h $(INCL)\wseg.h
  500.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  501. $(OBJ)\rip.o      : $(CB) $(HACK_H)
  502.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  503. $(OBJ)\rnd.o      : $(CB) $(HACK_H)
  504.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  505. $(OBJ)\rumors.o   : $(CB) $(HACK_H)
  506.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  507. $(OBJ)\save.o     : $(CB) $(HACK_H) $(INCL)\lev.h $(INCL)\wseg.h
  508.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  509. $(OBJ)\search.o   : $(CB) $(HACK_H) $(INCL)\artifact.h
  510.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  511. $(OBJ)\shk.o      : $(CB) $(HACK_H) $(INCL)\eshk.h
  512.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  513. $(OBJ)\shknam.o   : $(CB) $(HACK_H) $(INCL)\eshk.h
  514.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  515. $(OBJ)\sit.o      : $(CB) $(HACK_H)
  516.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  517. $(OBJ)\sounds.o   : $(CB) $(HACK_H) $(INCL)\edog.h $(INCL)\eshk.h
  518.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  519. $(OBJ)\sp_lev.o   : $(CB) $(HACK_H) $(INCL)\sp_lev.h
  520.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  521. $(OBJ)\spell.o    : $(CB) $(HACK_H)
  522.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  523. $(OBJ)\steal.o    : $(CB) $(HACK_H)
  524.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  525. $(OBJ)\termcap.o  : $(CB) $(HACK_H) $(INCL)\termcap.h
  526.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  527. $(OBJ)\timeout.o  : $(CB) $(HACK_H)
  528.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  529. $(OBJ)\topl.o     : $(CB) $(HACK_H)
  530.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  531. $(OBJ)\topten.o   : $(CB) $(HACK_H)
  532.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  533. $(OBJ)\track.o    : $(CB) $(HACK_H)
  534.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  535. $(OBJ)\trap.o     : $(CB) $(HACK_H) $(INCL)\edog.h
  536.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  537. $(OBJ)\u_init.o   : $(CB) $(HACK_H)
  538.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  539. $(OBJ)\uhitm.o    : $(CB) $(HACK_H) $(INCL)\artifact.h
  540.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  541. $(OBJ)\vault.o    : $(CB) $(HACK_H) $(INCL)\vault.h
  542.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  543. $(OBJ)\version.o  : $(CB) $(HACK_H) $(INCL)\date.h $(INCL)\patchlev.h
  544.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  545. $(OBJ)\weapon.o   : $(CB) $(HACK_H)
  546.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  547. $(OBJ)\were.o     : $(CB) $(HACK_H)
  548.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  549. $(OBJ)\wield.o    : $(CB) $(HACK_H)
  550.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  551. $(OBJ)\wizard.o   : $(CB) $(HACK_H)
  552.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  553. $(OBJ)\worm.o     : $(CB) $(HACK_H) $(INCL)\wseg.h
  554.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  555. $(OBJ)\worn.o     : $(CB) $(HACK_H)
  556.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  557. $(OBJ)\write.o    : $(CB) $(HACK_H)
  558.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  559. $(OBJ)\zap.o      : $(CB) $(HACK_H)
  560.     $(CC) $(CFLAGS) /Fo$@ $(AB)
  561.